Members
Overall Objectives
Research Program
Application Domains
Software and Platforms
New Results
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Results

New functionalities of Polychrony

Participants : Loïc Besnard, Thierry Gautier, Paul Le Guernic.

We have developed and integrated in the Signal toolbox some clock computations useful for optimizations: assignment clocks and utility clocks. These information may be used to reduce the frequency of the computations and the communications for distributed code generation.

 

Assignment clock. A given signal is supposed to be computed at the instants of its clock, defined by the clock of the expression of its definition. For a signal x, the expression of its definition can always be rewritten as x:=(E1𝚠𝚑𝚎𝚗h1)𝚍𝚎𝚏𝚊𝚞𝚕𝚝...𝚍𝚎𝚏𝚊𝚞𝚕𝚝(En-1𝚠𝚑𝚎𝚗hn-1)𝚍𝚎𝚏𝚊𝚞𝚕𝚝(x$𝚠𝚑𝚎𝚗k). If we assume that the signal keeps, between two consecutive instants, the last computed value, the assignment of (x$) to x is unnecessary. Then, the assignment clock is then defined by h1^+...^+hn-1, smaller than the clock of x defined by (h1^+...^+hn-1)^+k.

 

Utility clock. The utility clock defines the instants at which a signal is necessary. For a signal x, the utility clock, hu(x) is defined by:

If we rewrite the Signal program by sampling the signals (except for inputs/outputs) by their utility clock, the new Signal program is equivalent to the previous one, with respect to its behavior with the external world. Note that the utility clock can be used only when this transformation does not introduce cycles in the graph.